Relayfs: an Eecient Uniied Approach for Transmitting Data from Kernel to User Space
نویسندگان
چکیده
Linux has several mechanisms for relaying information about the system and applications to the user. Some examples include printk and other sys-log events, evlog, ltt, oproole, etc. Each subsystem has its own method for relaying information from the kernel to user space. Some of these mechanisms have diiculties, e.g. logging of printk messages is unreliable. In addition to selected diiculties, the replication of code and maintenance is undesirable. In this paper we describe a high-speed data relay lesystem that satisses the buuering requirements of the above subsystems while providing a uniied, eecient, and reliable relay mechanism. relayfs allows subsystems to log data eeciently and safely using lockless technology that is designed to scale well on multiprocessor systems. relayfs includes the exibility to be expanded should other subsystems need additional services, but has a simple design intended to meet the needs of currently available subsystems. In this paper we discuss the architecture , implementation, and usage of relayfs. relayfs uses channels that allow data to be directed to a suitable buuer or buuers for the subsystems that allocated the channel. We describe the kernel API and le naming conventions, address init-time issues , and discuss performance trade-oos available using relayfs. Finally we demonstrate how existing subsystems use relayfs to log their data.
منابع مشابه
A Geometry Preserving Kernel over Riemannian Manifolds
Abstract- Kernel trick and projection to tangent spaces are two choices for linearizing the data points lying on Riemannian manifolds. These approaches are used to provide the prerequisites for applying standard machine learning methods on Riemannian manifolds. Classical kernels implicitly project data to high dimensional feature space without considering the intrinsic geometry of data points. ...
متن کاملThe LTTng tracer: A low impact performance and behavior monitor for GNU/Linux
Efficient tracing of system-wide execution, allowing integrated analysis of both kernel space and user space, is something difficult to achieve. The following article will present you a new tracer core, Linux Trace Toolkit Next Generation (LTTng), that has taken over the previous version known as “LTT”. It has the same goals of low system disturbance and architecture independance while being fu...
متن کاملEecient User-level I/o in the Arx Real-time Operating System ?
User-level I/O gets increasingly important for embedded real-time applications, since it can allow programmers to write exible and eecient device drivers for proprietary devices. To support user-level I/O for embedded systems, an operating system must provide a mechanism to deliver an external interrupt from an I/O device to a process in a predictable and eecient manner. In this paper, we propo...
متن کاملEecient Support for Incremental Customization of Os Services
This paper argues that eecient, incremental cus-tomization of OS services can be achieved using a twofold strategy: an object-oriented architecture that relies on composition to facilitate code reuse and customiza-tion; and, an OS structure that places a minimal set of trusted functions into the kernel, with all remaining services collocated with application code in user-level protection domains.
متن کاملPush: An experimental facility for implementing distributed database services in operating systems
Distributed database systems need special operating system support. Support routines can be implemented inside the kernel or at the user level. Kernel-level functions, while eecient, are hard to implement. User-level implementations are easier, but suuer from poor performance and lack of security. This paper proposes a new approach to supplement or modify kernel facilities for database transact...
متن کامل